<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>OpenIG: Core-PluginBase/Plugin.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="openig_logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">OpenIG
   &#160;<span id="projectnumber">2.0.7</span>
   </div>
   <div id="projectbrief">cross-platform open-source OpenSceneGraph Image Generator</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_50de1d2dc9ae0114344792283f676bab.html">Core-PluginBase</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">Plugin.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">//#******************************************************************************</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">//#*</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">//#*      Copyright (C) 2015  Compro Computer Services</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">//#*      http://openig.compro.net</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">//#*</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">//#*      Source available at: https://github.com/CCSI-CSSI/MuseOpenIG</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">//#*</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//#*      This software is released under the LGPL.</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//#*</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//#*   This software is free software; you can redistribute it and/or modify</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">//#*   it under the terms of the GNU Lesser General Public License as published</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">//#*   by the Free Software Foundation; either version 2.1 of the License, or</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">//#*   (at your option) any later version.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">//#*</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">//#*   This software is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">//#*   but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">//#*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">//#*   the GNU Lesser General Public License for more details.</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">//#*</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">//#*   You should have received a copy of the GNU Lesser General Public License</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">//#*   along with this library; if not, write to the Free Software</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">//#*   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">//#*</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">//#*    Please direct any questions or comments to the OpenIG Forums</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">//#*    Email address: openig@compro.net</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">//#*</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">//#*</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">//#*    Please direct any questions or comments to the OpenIG Forums</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">//#*    Email address: openig@compro.net</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">//#*</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">//#*</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">//#*****************************************************************************</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#ifndef PLUGIN_H</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#define PLUGIN_H</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#if defined(OPENIG_SDK)</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">    #include &lt;OpenIG-PluginBase/Export.h&gt;</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">    #include &lt;OpenIG-PluginBase/PluginContext.h&gt;</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">    #include &lt;Core-PluginBase/Export.h&gt;</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">    #include &lt;Core-PluginBase/PluginContext.h&gt;</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#include &lt;osg/Referenced&gt;</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#include &lt;osg/Node&gt;</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespace_open_i_g.html">OpenIG</a> {</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <span class="keyword">namespace </span>PluginBase {</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;        <span class="keyword">class </span>PluginHost;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html">  134</a></span>&#160;        <span class="keyword">class </span>IGPLUGINCORE_EXPORT <a class="code" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html">Plugin</a> : <span class="keyword">public</span> osg::Referenced</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        {</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        <span class="keyword">public</span>:</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;            <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_open_i_g_1_1_plugin_base_1_1_plugin_host.html">PluginHost</a>;</div><div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a0627329678a045dcfcafb472e836a9b6">  144</a></span>&#160;            <a class="code" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a0627329678a045dcfcafb472e836a9b6">Plugin</a>()</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;                : osg::Referenced()</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;                , _orderNumber(0)</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;            {}</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;            <span class="keyword">virtual</span> std::string getName() = 0;</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;            <span class="keyword">virtual</span> std::string getDescription() = 0;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;            <span class="keyword">virtual</span> std::string getVersion() = 0;</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;            <span class="keyword">virtual</span> std::string getAuthor() = 0;</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a9598525af1aa0066748b375691723a1b">  197</a></span>&#160;            std::string <a class="code" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a9598525af1aa0066748b375691723a1b">getLibrary</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _library; }</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;</div><div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a31b5685fa70e38009faa51c4c2784b4c">  209</a></span>&#160;            <span class="keywordtype">int</span> <a class="code" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a31b5685fa70e38009faa51c4c2784b4c">getOrderNumber</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _orderNumber; }</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;</div><div class="line"><a name="l00223"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#adfb0b3732a59b587227fe172d6df1158">  223</a></span>&#160;            <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#adfb0b3732a59b587227fe172d6df1158">databaseRead</a>(<span class="keyword">const</span> std::string&amp;, osg::Node*, <span class="keyword">const</span> osgDB::Options*) {}</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;</div><div class="line"><a name="l00237"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#aa5e55246767439694bbdb96cd39b6314">  237</a></span>&#160;            <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#aa5e55246767439694bbdb96cd39b6314">databaseReadInVisitorBeforeTraverse</a>(osg::Node&amp;, <span class="keyword">const</span> osgDB::Options*) {}</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;</div><div class="line"><a name="l00251"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#aeb2dfd445eab843291dad6c6a265b04e">  251</a></span>&#160;            <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#aeb2dfd445eab843291dad6c6a265b04e">databaseReadInVisitorAfterTraverse</a>(osg::Node&amp;) {}</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;</div><div class="line"><a name="l00262"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a484e1323f6b71a570452dc61c1e5a262">  262</a></span>&#160;            <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a484e1323f6b71a570452dc61c1e5a262">config</a>(<span class="keyword">const</span> std::string&amp;) {}</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;</div><div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a10a3f5498c3e367c352681e31991465a">  273</a></span>&#160;            <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a10a3f5498c3e367c352681e31991465a">init</a>(<a class="code" href="class_open_i_g_1_1_plugin_base_1_1_plugin_context.html">PluginContext</a>&amp;) {}</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;</div><div class="line"><a name="l00282"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a5b88201002768bc6c7a2ef2599f2febb">  282</a></span>&#160;            <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a5b88201002768bc6c7a2ef2599f2febb">update</a>(<a class="code" href="class_open_i_g_1_1_plugin_base_1_1_plugin_context.html">PluginContext</a>&amp;) {}</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;</div><div class="line"><a name="l00292"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a1d9150a9752e41d4737d3d3a6dfcd6d9">  292</a></span>&#160;            <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a1d9150a9752e41d4737d3d3a6dfcd6d9">preFrame</a>(<a class="code" href="class_open_i_g_1_1_plugin_base_1_1_plugin_context.html">PluginContext</a>&amp;, <span class="keywordtype">double</span>) {}</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#ae503971b2f97dacaf394097685b736aa">  302</a></span>&#160;            <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#ae503971b2f97dacaf394097685b736aa">postFrame</a>(<a class="code" href="class_open_i_g_1_1_plugin_base_1_1_plugin_context.html">PluginContext</a>&amp;, <span class="keywordtype">double</span>) {}</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div><div class="line"><a name="l00312"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a2f4eade6773717746ce45acc325d2957">  312</a></span>&#160;            <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a2f4eade6773717746ce45acc325d2957">clean</a>(<a class="code" href="class_open_i_g_1_1_plugin_base_1_1_plugin_context.html">PluginContext</a>&amp;) {}</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div><div class="line"><a name="l00327"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a44afebbe8b519da79d332ef1ea327f42">  327</a></span>&#160;            <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a44afebbe8b519da79d332ef1ea327f42">entityAdded</a>(<a class="code" href="class_open_i_g_1_1_plugin_base_1_1_plugin_context.html">PluginContext</a>&amp;, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>, osg::Node&amp;, <span class="keyword">const</span> std::string&amp;) {}</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;</div><div class="line"><a name="l00336"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#acd58514484217d89711255be71f0a715">  336</a></span>&#160;            <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#acd58514484217d89711255be71f0a715">beginningOfFrame</a>(<a class="code" href="class_open_i_g_1_1_plugin_base_1_1_plugin_context.html">PluginContext</a>&amp;) {}</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;</div><div class="line"><a name="l00345"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a26459a2724667e98998ae58179b7bb2a">  345</a></span>&#160;            <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a26459a2724667e98998ae58179b7bb2a">endOfFrame</a>(<a class="code" href="class_open_i_g_1_1_plugin_base_1_1_plugin_context.html">PluginContext</a>&amp;) {}</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;        <span class="keyword">protected</span>:</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;            std::string     _library;       </div><div class="line"><a name="l00349"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#aa1620b4e2ae652e9686cccf993545875">  349</a></span>&#160;            <span class="keywordtype">int</span>             <a class="code" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#aa1620b4e2ae652e9686cccf993545875">_orderNumber</a>;   </div><div class="line"><a name="l00358"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a699b0630bd69281a7244d343c368939b">  358</a></span>&#160;            <span class="keywordtype">void</span> <a class="code" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a699b0630bd69281a7244d343c368939b">setLibrary</a>(<span class="keyword">const</span> std::string&amp; library)</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;            {</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;                _library = library;</div><div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;            }</div><div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;</div><div class="line"><a name="l00371"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a6baec675722dfe0291bbe09842def381">  371</a></span>&#160;            <span class="keywordtype">void</span> <a class="code" href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a6baec675722dfe0291bbe09842def381">setOrderNumber</a>(<span class="keywordtype">int</span> orderNumber)</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;            {</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;                _orderNumber = orderNumber;</div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;            }</div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;        };</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;    }</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;} <span class="comment">// namespace</span></div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;<span class="preprocessor">#endif // PLUGIN_H</span></div><div class="ttc" id="namespace_open_i_g_html"><div class="ttname"><a href="namespace_open_i_g.html">OpenIG</a></div><div class="ttdef"><b>Definition:</b> Animation.h:55</div></div>
<div class="ttc" id="class_open_i_g_1_1_plugin_base_1_1_plugin_html_aeb2dfd445eab843291dad6c6a265b04e"><div class="ttname"><a href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#aeb2dfd445eab843291dad6c6a265b04e">OpenIG::PluginBase::Plugin::databaseReadInVisitorAfterTraverse</a></div><div class="ttdeci">virtual void databaseReadInVisitorAfterTraverse(osg::Node &amp;)</div><div class="ttdoc">Hook for begining of the loaded model traveral. </div><div class="ttdef"><b>Definition:</b> Plugin.h:251</div></div>
<div class="ttc" id="class_open_i_g_1_1_plugin_base_1_1_plugin_html_a9598525af1aa0066748b375691723a1b"><div class="ttname"><a href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a9598525af1aa0066748b375691723a1b">OpenIG::PluginBase::Plugin::getLibrary</a></div><div class="ttdeci">std::string getLibrary() const</div><div class="ttdoc">The shared library name where the plugin is defined. </div><div class="ttdef"><b>Definition:</b> Plugin.h:197</div></div>
<div class="ttc" id="class_open_i_g_1_1_plugin_base_1_1_plugin_html_a31b5685fa70e38009faa51c4c2784b4c"><div class="ttname"><a href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a31b5685fa70e38009faa51c4c2784b4c">OpenIG::PluginBase::Plugin::getOrderNumber</a></div><div class="ttdeci">int getOrderNumber() const</div><div class="ttdoc">The order number of the plugin. </div><div class="ttdef"><b>Definition:</b> Plugin.h:209</div></div>
<div class="ttc" id="class_open_i_g_1_1_plugin_base_1_1_plugin_html_acd58514484217d89711255be71f0a715"><div class="ttname"><a href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#acd58514484217d89711255be71f0a715">OpenIG::PluginBase::Plugin::beginningOfFrame</a></div><div class="ttdeci">virtual void beginningOfFrame(PluginContext &amp;)</div><div class="ttdoc">Hook called on the very beginning of the frame before any processing. </div><div class="ttdef"><b>Definition:</b> Plugin.h:336</div></div>
<div class="ttc" id="class_open_i_g_1_1_plugin_base_1_1_plugin_html_ae503971b2f97dacaf394097685b736aa"><div class="ttname"><a href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#ae503971b2f97dacaf394097685b736aa">OpenIG::PluginBase::Plugin::postFrame</a></div><div class="ttdeci">virtual void postFrame(PluginContext &amp;, double)</div><div class="ttdoc">Postframe hook. </div><div class="ttdef"><b>Definition:</b> Plugin.h:302</div></div>
<div class="ttc" id="class_open_i_g_1_1_plugin_base_1_1_plugin_host_html"><div class="ttname"><a href="class_open_i_g_1_1_plugin_base_1_1_plugin_host.html">OpenIG::PluginBase::PluginHost</a></div><div class="ttdoc">The PluginHost class. </div><div class="ttdef"><b>Definition:</b> PluginHost.h:61</div></div>
<div class="ttc" id="class_open_i_g_1_1_plugin_base_1_1_plugin_html_a0627329678a045dcfcafb472e836a9b6"><div class="ttname"><a href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a0627329678a045dcfcafb472e836a9b6">OpenIG::PluginBase::Plugin::Plugin</a></div><div class="ttdeci">Plugin()</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> Plugin.h:144</div></div>
<div class="ttc" id="class_open_i_g_1_1_plugin_base_1_1_plugin_html"><div class="ttname"><a href="class_open_i_g_1_1_plugin_base_1_1_plugin.html">OpenIG::PluginBase::Plugin</a></div><div class="ttdoc">The Plugin class. </div><div class="ttdef"><b>Definition:</b> Plugin.h:134</div></div>
<div class="ttc" id="class_open_i_g_1_1_plugin_base_1_1_plugin_html_a2f4eade6773717746ce45acc325d2957"><div class="ttname"><a href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a2f4eade6773717746ce45acc325d2957">OpenIG::PluginBase::Plugin::clean</a></div><div class="ttdeci">virtual void clean(PluginContext &amp;)</div><div class="ttdoc">Method called on exit to give the user chance to perform cleanup. </div><div class="ttdef"><b>Definition:</b> Plugin.h:312</div></div>
<div class="ttc" id="class_open_i_g_1_1_plugin_base_1_1_plugin_html_a1d9150a9752e41d4737d3d3a6dfcd6d9"><div class="ttname"><a href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a1d9150a9752e41d4737d3d3a6dfcd6d9">OpenIG::PluginBase::Plugin::preFrame</a></div><div class="ttdeci">virtual void preFrame(PluginContext &amp;, double)</div><div class="ttdoc">Preframe hook. </div><div class="ttdef"><b>Definition:</b> Plugin.h:292</div></div>
<div class="ttc" id="class_open_i_g_1_1_plugin_base_1_1_plugin_html_a6baec675722dfe0291bbe09842def381"><div class="ttname"><a href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a6baec675722dfe0291bbe09842def381">OpenIG::PluginBase::Plugin::setOrderNumber</a></div><div class="ttdeci">void setOrderNumber(int orderNumber)</div><div class="ttdoc">Sets the plugin order number. </div><div class="ttdef"><b>Definition:</b> Plugin.h:371</div></div>
<div class="ttc" id="class_open_i_g_1_1_plugin_base_1_1_plugin_html_a5b88201002768bc6c7a2ef2599f2febb"><div class="ttname"><a href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a5b88201002768bc6c7a2ef2599f2febb">OpenIG::PluginBase::Plugin::update</a></div><div class="ttdeci">virtual void update(PluginContext &amp;)</div><div class="ttdoc">Update hook. </div><div class="ttdef"><b>Definition:</b> Plugin.h:282</div></div>
<div class="ttc" id="class_open_i_g_1_1_plugin_base_1_1_plugin_html_adfb0b3732a59b587227fe172d6df1158"><div class="ttname"><a href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#adfb0b3732a59b587227fe172d6df1158">OpenIG::PluginBase::Plugin::databaseRead</a></div><div class="ttdeci">virtual void databaseRead(const std::string &amp;, osg::Node *, const osgDB::Options *)</div><div class="ttdoc">Hook for database read. </div><div class="ttdef"><b>Definition:</b> Plugin.h:223</div></div>
<div class="ttc" id="class_open_i_g_1_1_plugin_base_1_1_plugin_context_html"><div class="ttname"><a href="class_open_i_g_1_1_plugin_base_1_1_plugin_context.html">OpenIG::PluginBase::PluginContext</a></div><div class="ttdoc">The PluginContext class. </div><div class="ttdef"><b>Definition:</b> PluginContext.h:59</div></div>
<div class="ttc" id="class_open_i_g_1_1_plugin_base_1_1_plugin_html_a26459a2724667e98998ae58179b7bb2a"><div class="ttname"><a href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a26459a2724667e98998ae58179b7bb2a">OpenIG::PluginBase::Plugin::endOfFrame</a></div><div class="ttdeci">virtual void endOfFrame(PluginContext &amp;)</div><div class="ttdoc">Hook called on the end of the frame after all the frame processing. </div><div class="ttdef"><b>Definition:</b> Plugin.h:345</div></div>
<div class="ttc" id="class_open_i_g_1_1_plugin_base_1_1_plugin_html_aa5e55246767439694bbdb96cd39b6314"><div class="ttname"><a href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#aa5e55246767439694bbdb96cd39b6314">OpenIG::PluginBase::Plugin::databaseReadInVisitorBeforeTraverse</a></div><div class="ttdeci">virtual void databaseReadInVisitorBeforeTraverse(osg::Node &amp;, const osgDB::Options *)</div><div class="ttdoc">Hook for begining of the loaded model traveral. </div><div class="ttdef"><b>Definition:</b> Plugin.h:237</div></div>
<div class="ttc" id="class_open_i_g_1_1_plugin_base_1_1_plugin_html_a10a3f5498c3e367c352681e31991465a"><div class="ttname"><a href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a10a3f5498c3e367c352681e31991465a">OpenIG::PluginBase::Plugin::init</a></div><div class="ttdeci">virtual void init(PluginContext &amp;)</div><div class="ttdoc">Method to init the plugin with a given igplugincore::PluginContext. </div><div class="ttdef"><b>Definition:</b> Plugin.h:273</div></div>
<div class="ttc" id="class_open_i_g_1_1_plugin_base_1_1_plugin_html_a699b0630bd69281a7244d343c368939b"><div class="ttname"><a href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a699b0630bd69281a7244d343c368939b">OpenIG::PluginBase::Plugin::setLibrary</a></div><div class="ttdeci">void setLibrary(const std::string &amp;library)</div><div class="ttdoc">The order number of the plugin. See igplugincore::Plugin::getOrderNumber. </div><div class="ttdef"><b>Definition:</b> Plugin.h:358</div></div>
<div class="ttc" id="class_open_i_g_1_1_plugin_base_1_1_plugin_html_a44afebbe8b519da79d332ef1ea327f42"><div class="ttname"><a href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a44afebbe8b519da79d332ef1ea327f42">OpenIG::PluginBase::Plugin::entityAdded</a></div><div class="ttdeci">virtual void entityAdded(PluginContext &amp;, unsigned int, osg::Node &amp;, const std::string &amp;)</div><div class="ttdoc">Hook called when OpenIG::Base::Entity is added to the scene. </div><div class="ttdef"><b>Definition:</b> Plugin.h:327</div></div>
<div class="ttc" id="class_open_i_g_1_1_plugin_base_1_1_plugin_html_aa1620b4e2ae652e9686cccf993545875"><div class="ttname"><a href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#aa1620b4e2ae652e9686cccf993545875">OpenIG::PluginBase::Plugin::_orderNumber</a></div><div class="ttdeci">int _orderNumber</div><div class="ttdoc">The shared library file name where this plugin is implemented. </div><div class="ttdef"><b>Definition:</b> Plugin.h:349</div></div>
<div class="ttc" id="class_open_i_g_1_1_plugin_base_1_1_plugin_html_a484e1323f6b71a570452dc61c1e5a262"><div class="ttname"><a href="class_open_i_g_1_1_plugin_base_1_1_plugin.html#a484e1323f6b71a570452dc61c1e5a262">OpenIG::PluginBase::Plugin::config</a></div><div class="ttdeci">virtual void config(const std::string &amp;)</div><div class="ttdoc">Method to configure the plugin from a XML file. </div><div class="ttdef"><b>Definition:</b> Plugin.h:262</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed May 16 2018 15:41:11 for OpenIG by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>
